package com.tlgen;

import com.tlgen.converter.Pdf2WordConverter;
import org.apache.commons.io.IOUtils;
import org.jodconverter.DocumentConverter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.*;

@Controller
public class FileController {

    // 第一步：转换器直接注入
    @Autowired
    private DocumentConverter converter;

    @Autowired
    private HttpServletResponse response;

    @RequestMapping("toPdfFile")
    public String toPdfFile() {
        File file = new File("word/停车收费.docx");//需要转换的文件
        try {
            File newFile = new File("E:/stronger");//转换之后文件生成的地址
            if (!newFile.exists()) {
                newFile.mkdirs();
            }
            //文件转化
            converter.convert(file).to(new File("E:/stronger/new.pdf")).execute();
            System.out.println("word文件转换成pdf文件成功!");

            //使用response,将pdf文件以流的方式发送给前端
            ServletOutputStream outputStream = response.getOutputStream();
            InputStream in = new FileInputStream(new File("E:/stronger/new.pdf"));// 读取文件
            // copy文件
            IOUtils.copy(in, outputStream);
            in.close();
            outputStream.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "word 2 pdf success";
    }

    @RequestMapping("toWordFile")
    public String toWordFile() {

        new Pdf2WordConverter().convertText("pdf/毕业设计开题报告_参考模板.pdf");
        System.out.println("pdf文件转换成word文件成功!");

        // 加这两个不会乱码 缺一不可
        response.setContentType("text/plain;charset=gb2312");
        response.setCharacterEncoding("utf-8");
        try {
            //使用response,将pdf文件以流的方式发送给前端
            ServletOutputStream outputStream = response.getOutputStream();
            InputStream in = new FileInputStream(new File("pdf/毕业设计开题报告_参考模板.doc"));// 读取文件
            // copy文件
            IOUtils.copy(in, outputStream);
            in.close();
            outputStream.close();

              //用来输出
//            InputStreamReader reader = new InputStreamReader(in, "utf-8");
//            BufferedReader br = new BufferedReader(reader);
//            String line;
//            while ((line = br.readLine()) != null) {
//                System.out.println(line);
//            }
//            in.close();
//            br.close();
//            reader.close();

        } catch (Exception e) {
            e.printStackTrace();
        }
        return "success";
    }
}
